// SpecialChar.h : main header file for the Application
//
#pragma once

// CSpecialChar:
// See SpecialChar.cpp for the implementation of this class
//
#include "XMLFoundation.h"
#include "GString.h"

class CSpecialChar : public XMLObject
{
public:
	CSpecialChar();
	~CSpecialChar();

private:
	bool m_allow;
	bool m_mustStart;
	bool m_checkMin;
	int m_minValue;
	bool m_checkMax;
	int m_maxValue;
	bool m_onlyChar;
	GString m_onlyCharValue;
	bool m_excludedChar;
	GString m_excludedCharValue;


public:
	bool GetAllow() const;
	void SetAllow ( bool nAllow );
	bool GetMustStart() const;
	void SetMustStart ( bool nMustStart );
	bool GetCheckMin() const;
	void SetCheckMin( bool nCheckMin );
    int GetMinValue() const;
	void SetMinValue( int nMinValue );
	bool GetCheckMax() const;
	void SetCheckMax( bool nCheckMax );
    int GetMaxValue() const;
	void SetMaxValue( int nMaxValue );

	bool GetOnlyChar() const;
	void SetOnlyChar( bool nOnlyChar );
	GString GetOnlyCharValue() const;
	void SetOnlyCharValue( GString nOnlyCharValue );

	bool GetExcludedChar() const;
	void SetExcludedChar( bool nExcludedChar );
	GString GetExcludedCharValue() const;
	void SetExcludedCharValue( GString nExcludedCharValue );

	public:
	virtual void MapXMLTagsToMembers();
	DECLARE_FACTORY(CSpecialChar , SpecialChar )
};